package com.example.lib.string;

/**
 * String类适用于描述字符串事物。
 * 那么它就提供了多个方法对字符串进行操作。
 *
 * 常见的操作有哪些？
 * "abcd"
 *
 * 1.获取
 *  1.1 字符串中的包含的字符数，也就是字符串的长度。
 *      int length():获取长度。
 *  1.2 根据位置获取位置上某个字符。
 *      char charAt(int index)
 *  1.3 根据字符串获取该字符在字符串中的位置。
 *      int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。
 *      int indexOf(int ch,int fromIndex):从fromIndex指定位置开始，获取ch在字符串中出现的位置。
 *
 *      int indexOf(String str):返回的是str在字符串中第一次出现的位置。
 *      int indexOf(String str,int fromIndex):从fromIndex指定位置开始，获取str在字符串中出现的位置。
 *
 *      int lastIndexOf(int ch):
 *      int lastIndexOf(int ch,int fromIndex)
 *
 *      int lastIndexOf(String str):
 *      int lastIndexOf(String str,int fromIndex)
 * 2.判断
 *      2.1 字符串中是否包含某个子串。
 *          boolean contains(str)
 *          特殊之处：indexOf(str):可以索引str第一次出现位置，如果返回-1，表示该str不在字符串中存在。
 *                  所以，也可以用于对指定判断是否包含。
 *                  if(str.indexof("aa")!=-1)
 *                  而且该方法既可以判断，又可以获取出现的位置。
 *      2.2 字符串中是否有内容。
 *          boolean isEmpty():原理就是判断长度是否为0。
 *      2.3 字符串是否是以指定内容开头。
 *          boolean startsWith(str)
 *      2.4 字符串是否是以指定内容结尾。
 *          boolean endsWith(str)
 *      2.5 判断字符串内容是否相同，复写了Object类中的equals方法。
 *          boolean equals(str)
 *      2.6 判断内容是否相同，并忽略大小写。
 *          boolean equalsIgnoreCase()
 *
 */

public class get_identify_String_153 {
    public static void main(String[] args) {
        String s1 = "abc";
        String s2 = new String("123");
        String s3 = "abc";
        System.out.println(s1 == s2);
        System.out.println(s1 == s3);
    }

    public static void method_get(){
        String str="adcdeakpcidf";
        //长度
        sop(str.length());

        //根据索引获取字符
        sop(str.charAt(40));//当访问到字符串中不存在的角标时，会发生StringIndexOutOfBoundsException.

        //根据字符获取索引
        sop(str.indexOf('m',3));//如果没有找到字符，返回-1。

        //反向索引一个字符出现的位置。
        sop(str.lastIndexOf("a"));
    }

    public static void method_is(){
        String str="ArrayDemo.java";
        //判断文件名称是否是Array单词开头。
        sop(str.startsWith("Array"));
        //判断文件名称是否是.java的文件。
        sop(str.endsWith(".java"));
        //判断文件中是否包含Demo.
        sop(str.contains("Demo"));
    }

    public static void sop(Object obj){
        System.out.println(obj);
    }
}
